package org.jupiter.blog.service.service;

import org.jupiter.blog.api.dto.JupiterRoleDTO;

import java.util.List;

public interface JupiterRoleService {

	/**
	 * 创建角色
	 */
	void createRole(JupiterRoleDTO dto);

	/**
	 * 根据UUID获取角色
	 */
	JupiterRoleDTO getById(String uuid);

	/**
	 * 更新角色
	 */
	void updateRole(String uuid, JupiterRoleDTO dto);

	/**
	 * 删除角色
	 */
	void deleteRole(String uuid);

	/**
	 * 分页查询角色列表
	 */
	List<JupiterRoleDTO> getByPage(JupiterRoleDTO queryDTO);

	/**
	 * 获取角色总数
	 */
	long getCount(JupiterRoleDTO queryDTO);

	/**
	 * 获取所有角色
	 */
	List<JupiterRoleDTO> getAll();

	/**
	 * 根据用户ID获取角色列表
	 */
	List<JupiterRoleDTO> getByUserId(String userId);

	void restoreRole(String uuid);

}
